import Vue from 'vue'
import App from './App.vue'
import router from './router/index'
import store from './store/index'
import './plugins/element.js'
// 导入全局样式
import './assets/css/global.css'
// 导入axios
import axios from 'axios'

// 路由导航守卫
router.beforeEach((to, from, next) => {
  // 如果访问的是login直接next()放行
  if (to.path === '/login') return next()
  // 获取token值
  const tokenStr = window.sessionStorage.getItem('token')
  // 如果token值不存在，则next('/login')强制跳转到登录页
  if (!tokenStr) return next('/login')
  // 有token则直接放行
  next()
})

// 配置请求根路径
axios.defaults.baseURL = 'http://127.0.0.1:8888/api/private/v1/'
// 配置axios请求拦截器，保证拥有获取数据的权限
axios.interceptors.request.use(config => {
  // console.log(config)
  // 为请求对象，添加token验证的Authorization对象
  config.headers.Authorization = window.sessionStorage.getItem('token')
  // return配置
  return config
})
// 将vue的this.$http配置成axios
Vue.prototype.$http = axios
// 关闭生产提示
Vue.config.productionTip = false

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')
